package com.ssy.lingxi.system.service;

import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.system.dto.request.*;
import com.ssy.lingxi.system.dto.response.MiddlegroundRoleDeatilsResponse;
import com.ssy.lingxi.system.dto.response.MiddlegroundRoleResponse;
import com.ssy.lingxi.system.dto.response.RoleButtonListResponse;
import org.springframework.web.bind.annotation.RequestBody;

import javax.servlet.http.HttpServletRequest;

/**
* 角色业务处理类
* @author wrc
* @date 2020/5/22
*/
public interface MiddlegroundRoleService {


    /**
    * 查询角色列表
    * @author wrc
    * @date 2020/5/22
    */
    Wrapper<PageData<MiddlegroundRoleResponse>> roleList(HttpServletRequest request, MiddlegroundRoleRequest middlegroundRoleRequest);


    /**
    * 添加角色
    * @author wrc
    * @date 2020/5/22
    */
    Wrapper roleAdd(HttpServletRequest request, MiddlegroundRoleAddRequest middlegroundRoleRequest);

    /**
    * 修改角色
    * @author wrc
    * @date 2020/5/22
    */
    Wrapper roleUpdate(MiddlegroundRoleUpdateRequest middlegroundRoleRequest);

    /**
    * 删除角色
    * @author wrc
    * @date 2020/5/22
    */
    Wrapper roleDelete( MiddlegroundRoleDeleteRequest middlegroundRoleRequest);


    /**
    * 停用启用角色
    * @author wrc
    * @date 2020/7/29
    */
    Wrapper roleUpdateState(@RequestBody RoleUpdateStateRequest request);


    /**
    * 角色详情查询
    * @author wrc
    * @date 2020/7/29
    */
    Wrapper<MiddlegroundRoleDeatilsResponse> roleDetails(MiddlegroundRoleDeleteRequest request);


    /**
    * 查询按钮集合
    * @author wrc
    * @date 2020/7/29
    */
    Wrapper<RoleButtonListResponse> roleButtonList(RoleButtonListRequest request);
}
